Ansible এ আর্কাইভ (Archive) এবং আনআর্কাইভ (Unarchive) মডিউলগুলো ফাইল বা ডিরেক্টরির সংরক্ষণ এবং পুনরুদ্ধার করার জন্য ব্যবহৃত হয়। এই মডিউলগুলো ব্যবহার করে আপনি সহজেই ফাইল এবং ডিরেক্টরি সংরক্ষণ করতে, সেগুলো আনপ্যাক করতে বা অন্যান্য সার্ভারে এক্সট্র্যাক্ট করতে পারেন। চলুন, প্রতিটি মডিউল সম্পর্কে বিস্তারিত আলোচনা করা যাক।
আর্কাইভ মডিউল একটি নির্দিষ্ট ফাইল বা ডিরেক্টরিকে আর্কাইভ ফাইলে (যেমন: .tar
, .zip
) প্যাক করতে ব্যবহৃত হয়। এটি বিশেষ করে তখন কার্যকরী, যখন আপনি একটি ডিরেক্টরি বা ফাইলের ব্যাকআপ নিতে চান বা একটি কম্প্রেসড ফাইল তৈরি করতে চান।
---
- name: Archive files and directories
hosts: localhost
tasks:
- name: Create a tar.gz archive of /var/www/html
ansible.builtin.archive:
path: /var/www/html
dest: /tmp/html_backup.tar.gz
format: gz
gz
, bz2
, xz
, বা zip
ব্যবহার করা যায়।true
সেট করা হয়, তাহলে আর্কাইভ তৈরি করার পর উৎস ফাইল বা ডিরেক্টরি মুছে ফেলা হবে।- name: Archive and remove the original directory
hosts: localhost
tasks:
- name: Create a compressed archive and remove source
ansible.builtin.archive:
path: /var/log/myapp
dest: /tmp/myapp_logs.tar.gz
format: gz
remove: true
ব্যাখ্যা: আর্কাইভ ফাইল তৈরির পর /var/log/myapp
ডিরেক্টরিটি মুছে ফেলা হবে।
আনআর্কাইভ মডিউল আর্কাইভ ফাইল (যেমন .tar.gz
, .zip
) আনপ্যাক করতে ব্যবহৃত হয়। এটি বিশেষ করে ডিপ্লয়মেন্ট বা কোনো ফাইলের কনটেন্ট এক্সট্র্যাক্ট করতে উপযোগী।
---
- name: Unarchive a file
hosts: localhost
tasks:
- name: Extract the html_backup.tar.gz archive
ansible.builtin.unarchive:
src: /tmp/html_backup.tar.gz
dest: /var/www/html
remote_src: yes
yes
সেট করা হয়, তাহলে এটি মনে করবে যে আর্কাইভ ফাইলটি রিমোট হোস্টে অবস্থিত।- name: Unarchive only if directory does not exist
hosts: localhost
tasks:
- name: Extract the archive if not already extracted
ansible.builtin.unarchive:
src: /tmp/html_backup.tar.gz
dest: /var/www/html
remote_src: yes
creates: /var/www/html/index.html
ব্যাখ্যা: যদি /var/www/html/index.html
ফাইলটি আগে থেকেই থাকে, তাহলে আনআর্কাইভ মডিউল কিছু করবে না।
একই প্লেবুকে আর্কাইভ এবং আনআর্কাইভ মডিউল ব্যবহার করে আপনি ফাইলের ব্যাকআপ নিতে এবং তা পুনরুদ্ধার করতে পারেন:
---
- name: Backup and restore example
hosts: localhost
tasks:
- name: Archive the application logs
ansible.builtin.archive:
path: /var/log/myapp
dest: /tmp/myapp_logs_backup.tar.gz
format: gz
- name: Unarchive the logs to backup directory
ansible.builtin.unarchive:
src: /tmp/myapp_logs_backup.tar.gz
dest: /backup/logs
remote_src: yes
মডিউল | বর্ণনা |
---|---|
archive | একটি ফাইল বা ডিরেক্টরিকে আর্কাইভ ফাইলে প্যাক করে। |
unarchive | আর্কাইভ ফাইল আনপ্যাক করে এবং গন্তব্যস্থলে এক্সট্র্যাক্ট করে। |
Ansible এর archive এবং unarchive মডিউল ব্যবহার করে সহজেই ফাইল বা ডিরেক্টরি সংরক্ষণ ও পুনরুদ্ধার করতে পারবেন। এটি বিশেষ করে ব্যাকআপ এবং ডিপ্লয়মেন্টের জন্য খুবই কার্যকর।
আরও দেখুন...